﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SageKing.Core.Contracts;

public static class TypeConsts
{
    /// <summary>
    /// Full name string
    /// </summary>
    public const string string0 = "System.String";
    public const string int8Arr_sbyte1 = "System.SByte";
    public const string uint8Arr_byte2 = "System.Byte";
    public const string int16_short3 = "System.Int16";
    public const string uint16_ushort4 = "System.UInt16";
    public const string int32_int5 = "System.Int32";
    public const string uint32_uint6 = "System.UInt32";
    public const string int64_long7 = "System.Int64";
    public const string uint64_ulong8 = "System.UInt64";
    public const string float32_float9 = "System.Single";
    public const string float64_double10 = "System.Double";
    public const string bool11 = "System.Boolean";
    public const string enum12 = "System.Enum";

    public static Type String = typeof(string);
    public static Type SByte = typeof(sbyte);
    public static Type Byte = typeof(byte);
    public static Type Int16 = typeof(short);
    public static Type UInt16 = typeof(ushort);
    public static Type Int = typeof(int);
    public static Type UInt = typeof(uint);
    public static Type Long = typeof(long);
    public static Type ULong = typeof(ulong);
    public static Type Float = typeof(float);
    public static Type Double = typeof(double);
    public static Type Bool = typeof(bool);
    public static Type DateTime = typeof(DateTime);
    public static Type DateTimeOffset = typeof(DateTimeOffset);
    public static Type TimeSpan = typeof(TimeSpan);
    public static Type Guid = typeof(Guid);
    public static Type Decimal = typeof(decimal); 
    public static Type TimeOnly = typeof(TimeOnly); 
}
